package water.com.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Built {

    public static <E> String toString(E e){
        return String.valueOf(e);
    }

    /**
     * 将对象的伪驼峰命名法的名称转变为数据的下划线格式的
     * @param entity 对象类名 格式为AaCcBb
     * @return aa_cc_bb
     */
    public static String toTableName(String entity){
        Pattern p = Pattern.compile("[A-Z]");
        Matcher m = p.matcher(entity);
        while (m.find()){
            entity = entity.replace(m.group(),"_"+m.group());
        }
        return entity.substring(1);
    }

    /**
     *将对象的驼峰命名法的名称转变为数据的下划线格式的
     * @param column aaBbCc
     * @return aa_bb_cc
     */
    public static String toColumnName(String column){
        Pattern p = Pattern.compile("[A-Z]");
        Matcher m = p.matcher(column);
        while (m.find()){
            column = column.replace(m.group(),"_"+m.group());
        }
        return column;
    }

    /**
     * 生成交易流水号
     * @param coreNum 交易接口名称
     * @return 流水号
     */
    public static String getReference(String coreNum){
        return coreNum+System.currentTimeMillis();
    }

}
